cmake_minimum_required(VERSION 3.16)

project(ExperienceLife VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS Core Quick Widgets Sql Network)

qt_standard_project_setup(REQUIRES 6.5)

qt_add_executable(appExperienceLife
    main.cpp
    icon.rc#加载桌面图标资源
)

qt_add_qml_module(appExperienceLife
    URI ExperienceLife
    VERSION 1.0
    QML_FILES
        Main.qml
        SOURCES localconfig.cpp localconfig.h remotedatabase.cpp remotedatabase.h systemtray.cpp systemtray.h
        QML_FILES StickyNote.qml Welcome.qml
        SOURCES clipboardhandler.cpp clipboardhandler.h
        QML_FILES NewStickyNote.qml
        SOURCES localdatabase.h localdatabase.cpp
        RESOURCES Ring.wav
        RESOURCES image.ico image.png
        RESOURCES image2.ico image2.png
)

# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
set_target_properties(appExperienceLife PROPERTIES
#    MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appExperienceLife
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

target_link_libraries(appExperienceLife PRIVATE
    Qt6::Quick
    Qt6::Core
    Qt6::Gui
    Qt6::Widgets
    Qt6::Sql
    Qt6::Network
    ${RESOURCES}
)

include(GNUInstallDirs)
install(TARGETS appExperienceLife
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
